Skip to main content
POST
/
merchant
/
invoice
/
external_gateway_invoice
/
update_payment_link
[Deprecated] Update External Gateway Invoice Payment Link
curl --request POST \
  --url https://api.unibee.dev/merchant/invoice/external_gateway_invoice/update_payment_link \
  --header 'Authorization: Bearer <token>' \
  --header 'Content-Type: application/json' \
  --data '
{
  "externalTransactionId": "<string>",
  "invoiceId": "<string>",
  "paymentLink": "<string>",
  "signature": "<string>",
  "timestamp": 123,
  "gatewayId": 123,
  "sendInvoice": true
}
'
{
  "code": 123,
  "data": {
    "invoiceId": "<string>",
    "paymentLink": "<string>",
    "status": "<string>"
  },
  "merchantId": 123,
  "message": "<string>",
  "redirect": "<string>",
  "requestId": "<string>"
}

Endpoint Overview

POST https://api.unibee.dev/merchant/invoice/external_gateway_invoice/update_payment_link Deprecated. Please use payment-level external gateway APIs: /merchant/payment/external_gateway_payment/update_link. This invoice-level API is kept for compatibility only.

Authorization

All UniBee Merchant API requests require authentication via API key.
HeaderRequiredDescription
AuthorizationYesBearer <your_api_key>
Content-TypeYesapplication/json (for request body)

Parameters

Parameters for this endpoint are listed below. The schema is also shown in the Try it panel.

Request body

NameTypeRequiredDescription
externalTransactionIdstringYesExternal payment transaction id from gateway (for linking)
gatewayIdintegerNoOptional. External gateway id; omit to keep current gateway and use it for auth
invoiceIdstringYesInvoice id
paymentLinkstringYesExternal payment/checkout url shown to user in invoice
sendInvoicebooleanNoWhether to (re)send invoice email after payment link is updated
signaturestringYesHMAC-SHA256(gatewayKey, invoiceId|externalTransactionId|timestamp), hex
timestampintegerYesRequest timestamp, UTC seconds, used for expiry check

Request examples

cURL

curl -X POST "https://api.unibee.dev/merchant/invoice/external_gateway_invoice/update_payment_link" \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
  "externalTransactionId": "id_example",
  "gatewayId": 0,
  "invoiceId": "id_example",
  "paymentLink": "",
  "sendInvoice": false,
  "signature": "",
  "timestamp": 0
}'

Sandbox

curl -X POST "https://api-sandbox.unibee.top/merchant/invoice/external_gateway_invoice/update_payment_link" \
  -H "Authorization: Bearer YOUR_SANDBOX_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
  "externalTransactionId": "id_example",
  "gatewayId": 0,
  "invoiceId": "id_example",
  "paymentLink": "",
  "sendInvoice": false,
  "signature": "",
  "timestamp": 0
}'

Response

Success responses return a JSON envelope with code, data, message, redirect, and requestId. code 0 indicates success.
FieldTypeDescription
codeintegerResponse code. 0 = success
dataobjectResponse payload
data.invoiceIdstringInvoice id
data.paymentLinkstringUpdated payment link
data.statusstringResult status, e.g. success
messagestringHuman-readable message
requestIdstringRequest ID for support

Error handling

HTTP statusMeaning
400Bad request — invalid or missing parameters. Check message in the body.
401Unauthorized — missing or invalid API key.
404Not found — invalid path or resource.
500Server error — retry with backoff.
When code in the response body is non-zero, check message for details. Use requestId when contacting support.

Authorizations

Authorization
string
header
required

Bearer authentication header of the form Bearer <token>, where <token> is your auth token.

Body

application/json

Deprecated. Please use payment-level external gateway APIs: /merchant/payment/external_gateway_payment/update_link. This invoice-level API is kept for compatibility only.

externalTransactionId
string<string>
required

External payment transaction id from gateway (for linking)

invoiceId
string<string>
required

Invoice id

External payment/checkout url shown to user in invoice

signature
string<string>
required

HMAC-SHA256(gatewayKey, invoiceId|externalTransactionId|timestamp), hex

timestamp
integer<int64>
required

Request timestamp, UTC seconds, used for expiry check

gatewayId
integer<int64>

Optional. External gateway id; omit to keep current gateway and use it for auth

sendInvoice
boolean<bool>

Whether to (re)send invoice email after payment link is updated

Response

200 - application/json
code
integer<int>
data
object
merchantId
integer<int64>
message
string<string>
redirect
string<string>
requestId
string<string>